Cloud One File Storage Securityを使ってS3にアップされたマルウェア、異常ファイルをチェックしてみた (処理編)
こんにちは、コンサル部@大阪オフィスのTodaです。
Trend Micro社が提供するCloud Oneには7点のサービスが存在します。
今回はクラウドストレージのファイルチェックが出来るFile Storage Securityを操作してみました。
前回、File Storage Security(以降C1FSS)の導入をおこない実際のオブジェクトスキャンを実行してみました。
C1FSSはスキャンを完了した際に、バケットのタグにスキャン結果が記録される仕組みになるため異常ファイルのパブリック公開の停止やバケットの移動は別で準備する必要があります。
今回は2点を検証してみます。
事前の準備
チェックで利用するS3は事前にパブリックアクセスを許可しています。
異常ファイルのパブリック公開停止
オブジェクトスキャンにて異常ファイルの判定を受けた場合、オブジェクトタグ:fss-scan-resultに結果が設定されます。
簡易に公開停止をする場合はバケットポリシーにて下記、スキャン結果を条件にルールを設定することで簡易に対応する事が出来ます。
下記サンプルは「no issues found」判定を受けているオブジェクトのみ公開するルールになります。
■ スキャン結果例 (fss-scan-result)
- no issues found : 問題なし
- malicious : 悪意のあるファイル
- failure : スキャンエラー
■ バケットポリシーサンプル
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::(公開しているS3バケット名)/*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/fss-scan-result": "no issues found" } } } ] }
異常ファイルを隔離S3バケットに移動
C1FSSには正常ファイルと異常ファイルを別のS3バケットに移動・コピーする処理がLambdaのパブリックアプリケーションとして公開されています。
処理は異常ファイルのみ隔離するなど設定する事が可能です。
Lambda関数の作成
[関数の作成]をおこない[Serverless Application Repository の参照]を選択します。
[パブリックアプリケーション]タブを選択して[カスタム IAM ロールまたはリソースポリシーを作成するアプリを表示する]のチェックボックスを有効化します。
検索枠にて「cloudone-filestorage-plugin-action-promote-or-quarantine」を検索します。
次の画面にてアプリケーションの設定をおこないます。
設定には正常ファイルと異常ファイルそれぞれ別のS3バケットに移動するかコピーするかの設定とトリガーに利用するSNSのARNを指定する箇所があります。
SNSのARNは前回ストレージ追加用のCfn出力に「ScanResultTopicARN」の項目があるため値をコピーして設定します。
上記、設定後デプロイをおこなうことでLambda関数が生成されます。
関数を確認したところSNSの連携から対象バケット操作用にIAMロールまで全て設定されている事がわかりました。
異常のあるファイルを置いてみる
前回と同じように疑似ウィルスファイル(EICAR)を保管して挙動を確認してみます。
「test03.txt」にてファイルを生成したところ公開用のS3バケットからファイルが消えて、隔離用のS3バケットに移動していることを確認できました。
■ 公開用のS3バケット
■ 隔離用のS3バケット
C1FSSの画面上でも「malicious」にて判定されていることも確認できました。
ファイルを移動した場合でも表示内容はかわらないようですね。
さいごに
今回はC1FSSのスキャンを実行後の処理について確認をしてみました。
少しでもお客様のやりたいことの参考になればと考えております。